package com.firefoxking.mysite.dao;

import com.firefoxking.mysite.dao.dto.CommentCond;
import com.firefoxking.mysite.entity.Comment;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.List;

@Mapper
public interface CommentMapper {

    /**
     * 增加评论
     * @param comment
     * @return
     */
    int addComment(Comment comment);

    /**
     * 根据id删除评论
     * @param coid
     * @return
     */
    int deleteComment(@Param("coid") int coid);

    /**
     * 根据id更新评论状态
     * @param coid
     * @param status
     * @return
     */
    int updateCommentsStatus(@Param("coid") int coid, @Param("status") String status);

    /**
     * 根据id查询评论
     * @param coid
     * @return
     */
    Comment getCommentById(@Param("coid") int coid);

    /**
     * 根据文章查询文章的评论
     * @param cid
     * @return
     */
    List<Comment> getCommentsByCid(@Param("cid") int cid);

    /**
     * 根据条件查询评论
     * @param commentCond
     * @return
     */
    List<Comment> getCommentsByCond(CommentCond commentCond);

    /**
     * 获取评论总数目
     * @return
     */
    Long getCommentsCount();
}
